package com.xxx.stactic;

/**
 * @version v1.0
 * @Description
 * @Author admin
 * @date 2021/7/14  15:00
 * @Copyright
 */
public class Student {

    public String name;//实例变量
    public int age;//实例变量
    public static String claName="jde123";//静态变量(类变量)

    /*
     static(静态)
     1.static修饰的成员被所有的对象共享
     2.static修饰的成员随着类加载而存在
     3.static修饰的成员可以通过类名词调用，类名.静态成员
     4.static修饰的数据是共享数据，对象中的数据是特有数据
     */
    /*
      实例变量和静态变量的区别
      1.生命周期不同
        实例变量里随着对象的创建而存在，随着对象的销毁而释放
        静态变量随着类的加载而存在，随着类的卸载而释放
      2.调用方法不同
         实例变量只能被对象调用
         静态变量可以被对象调用，还可以被类调用
      3.存储位置不同
         实例变量存在的堆内存的对象中
         静态变量存在方法取得静态曲中
     */
    /*
      注意事项：
        1.静态方法中只能访问静态方法
        2.非静态方法中可以访问静态又可以访问非静态
     */
    //静态方法
    public static void show(){
        System.out.println(claName);
        //System.out.println(this.name);

        System.out.println("静态方法");
    }
    public void show2(){
        //System.out.println(claName);
        System.out.println(this.name);
        System.out.println("非静态方法");
    }
}
